#ifndef __ENCODER_H_
#define __ENCODER_H_

typedef struct
{
    uint8_t reverse;     // 编码器的方向是否反转。0-正常，1-反转
    int32_t total_count; // 累计总计数值
} Encoder;

/**
 * @brief       编码器电机初始化函数
 * @note        该函数会初始化编码器电机的引脚和计数器
 * @retval      无
 */
void encoder_init(void);

/**
 * @brief       获取编码器计数值
 * @param       encoder_id: 编码器编号, 从0开始
 * @retval      编码器计数值
 */
short encoder_get_value(uint8_t encoder_id);

/**
 * @brief       获取编码器总计数值  用于计算走过的距离cm
 *
 * @param encoder_id    : 编码器编号, 从0开始
 * @return int32_t
 */
int32_t encoder_get_total_count(uint8_t encoder_id);

#endif
